package com.app.aipass.utils;//package com.app.csc.utils;
//
//import android.content.Context;
//import android.content.res.ColorStateList;
//import android.content.res.Resources;
//import android.graphics.drawable.Drawable;
//import android.os.Build;
//import android.text.Spannable;
//import android.text.SpannableStringBuilder;
//import android.text.style.ForegroundColorSpan;
//import android.util.DisplayMetrics;
//import android.util.TypedValue;
//import android.view.MotionEvent;
//import android.view.View;
//import android.view.ViewGroup;
//import android.view.ViewParent;
//
//import androidx.core.content.ContextCompat;
//
//import com.zhitianxia.app.activity.base.MyApplication;
//
//
///**
// * created by lhq
// */
//public class UIUtil {
//
//
//    public static final int SwipeDistance = 200;
//
//    public static Context getContext() {
//        return MyApplication.getInstance();
//    }
//
//    /**
//     * 获取资源对象
//     */
//    public static Resources getResources() {
//        return getContext().getResources();
//    }
//
//    /**
//     * 获取资源文件字符串
//     *
//     * @param id
//     * @return
//     */
//    public static String getString(int id) {
//        return getResources().getString(id);
//    }
//
//    /**
//     * 获取资源文件字符串数组
//     *
//     * @param id
//     * @return
//     */
//    public static String[] getStringArray(int id) {
//        return getResources().getStringArray(id);
//    }
//
//    /**
//     * 获取资源文件图片
//     *
//     * @param id
//     * @return
//     */
//    public static Drawable getDrawable(int id) {
//        return ContextCompat.getDrawable(getContext(), id);
//    }
//
//    /**
//     * 获取资源文件颜色
//     *
//     * @param id
//     * @return
//     */
//    public static int getColor(int id) {
//        return ContextCompat.getColor(getContext(), id);
//    }
//
//    /**
//     * 根据id获取颜色的状态选择器
//     *
//     * @param id
//     * @return
//     */
//    public static ColorStateList getColorStateList(int id) {
//        return ContextCompat.getColorStateList(getContext(), id);
//    }
//
//    /**
//     * 获取尺寸
//     *
//     * @param id
//     * @return
//     */
//    public static int getDimen(int id) {
//        return getResources().getDimensionPixelSize(id); // 返回具体像素值
//    }
//
//    /**
//     * dp -> px
//     *
//     * @param dp
//     * @return
//     */
//    public static int dp2px(float dp) {
//        float density = getResources().getDisplayMetrics().density;
//        return (int) (dp * density + 0.5f);
//    }
//
//    /**
//     * px -> dp
//     *
//     * @param px
//     * @return
//     */
//    public static float px2dp(int px) {
//        float density = getResources().getDisplayMetrics().density;
//        return px / density;
//    }
//
//
//    //sp转px
//    public static int Sp2Px(int sp) {
//        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, getResources().getDisplayMetrics());
//    }
//
//    /**
//     * 加载布局文件
//     *
//     * @param id
//     * @return
//     */
//    public static View inflate(int id) {
//        return View.inflate(getContext(), id, null);
//    }
//
//    /**
//     * 把自身从父View中移除
//     *
//     * @param view
//     */
//    public static void removeSelfFromParent(View view) {
//        if (view != null) {
//            ViewParent parent = view.getParent();
//            if (parent != null && parent instanceof ViewGroup) {
//                ViewGroup group = (ViewGroup) parent;
//                group.removeView(view);
//            }
//        }
//    }
//
//    /**
//     * 请求View树重新布局，用于解决中层View有布局状态而导致上层View状态断裂
//     *
//     * @param view
//     * @param isAll
//     */
//    public static void requestLayoutParent(View view, boolean isAll) {
//        ViewParent parent = view.getParent();
//        while (parent != null && parent instanceof View) {
//            if (!parent.isLayoutRequested()) {
//                parent.requestLayout();
//                if (!isAll) {
//                    break;
//                }
//            }
//            parent = parent.getParent();
//        }
//    }
//
//    /**
//     * 判断触点是否落在该View上
//     *
//     * @param ev
//     * @param v
//     * @return
//     */
//    public static boolean isTouchInView(MotionEvent ev, View v) {
//        int[] vLoc = new int[2];
//        v.getLocationOnScreen(vLoc);
//        float motionX = ev.getRawX();
//        float motionY = ev.getRawY();
//        return motionX >= vLoc[0] && motionX <= (vLoc[0] + v.getWidth())
//                && motionY >= vLoc[1] && motionY <= (vLoc[1] + v.getHeight());
//    }
//
//    /**
//     * findViewById的泛型封装，减少强转代码
//     *
//     * @param layout
//     * @param id
//     * @param <T>
//     * @return
//     */
//    public static <T extends View> T findViewById(View layout, int id) {
//        return (T) layout.findViewById(id);
//    }
//
//    /**
//     * 获取屏幕的比例
//     *
//     * @param context
//     * @return
//     */
//    public static float getScaledDensity(Context context) {
//        DisplayMetrics dm = context.getResources().getDisplayMetrics();
//        float value = dm.scaledDensity;
//        return value;
//    }
//
//    /**
//     * 获取控件的高度，如果获取的高度为0，则重新计算尺寸后再返回高度
//     *
//     * @param view
//     * @return
//     */
//    public static int getViewMeasuredHeight(View view) {
//        calcViewMeasure(view);
//        return view.getMeasuredHeight();
//    }
//
//    /**
//     * 获取控件的宽度，如果获取的宽度为0，则重新计算尺寸后再返回宽度
//     *
//     * @param view
//     * @return
//     */
//    public static int getViewMeasuredWidth(View view) {
//        calcViewMeasure(view);
//        return view.getMeasuredWidth();
//    }
//
//    /**
//     * 测量控件的尺寸
//     *
//     * @param view
//     */
//    public static void calcViewMeasure(View view) {
//        int width = View.MeasureSpec.makeMeasureSpec(0,
//                View.MeasureSpec.UNSPECIFIED);
//        int expandSpec = View.MeasureSpec.makeMeasureSpec(
//                Integer.MAX_VALUE >> 2, View.MeasureSpec.AT_MOST);
//        view.measure(width, expandSpec);
//    }
//
//    /**
//     * 设置textview指定文字为某一颜色
//     *
//     * @param content 显示的文字
//     * @param color   需要转换成的颜色值
//     * @param start   需要变色文字开始位置
//     * @param end     需要变色文字结束位置
//     */
//    public static SpannableStringBuilder changeTextColor(String content, int color, int start, int end) {
//        SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(content);
//        spannableStringBuilder.setSpan(new ForegroundColorSpan(color), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//        return spannableStringBuilder;
//    }
//
//
//    public static int getStatusHight() {
//        int statusBarHeight = dp2px(25);
//        try {
//            Class<?> clazz = Class.forName("com.android.internal.R$dimen");
//            Object object = clazz.newInstance();
//            int height = Integer.parseInt(clazz.getField("status_bar_height")
//                    .get(object).toString());
//            statusBarHeight = getResources().getDimensionPixelSize(height);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return statusBarHeight;
//    }
//
//
//    public static void paddingToStatusBar(View view) {
//        if (!(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)) return;
//        view.setPadding(view.getPaddingLeft(), view.getPaddingTop() + getStatusHight(), view.getPaddingRight(), view.getPaddingBottom());
//        // view.setPadding(0, ViewUtils.getStatusBarHeight(view.getContext()), 0, 0);
//    }
//}
